package com.freemalll.merchant.domain.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.freemalll.merchant.common.AbstractBaseEntity;
import com.freemalll.merchant.common.CompareField;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * <p>
 * 商户分期信息表
 * </p>
 *
 * @author songshixiong
 * @since 2025-06-04
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("mer_installment_info")
@Schema(description = "MerInstallmentInfo对象")
public class MerInstallmentInfo extends AbstractBaseEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    @Schema(description = "主键")
    @TableId(value = "installment_id", type = IdType.ASSIGN_UUID)
    @CompareField(value = "installment_id", skip = true)
    private String installmentId;

    @Schema(description = "商户主键")
    @TableField("mer_id")
    @CompareField(value = "mer_id", skip = true)
    private String merId;

    @Schema(description = "是否首次")
    @TableField("first_flag")
    @CompareField("first_flag")
    private Boolean firstFlag;

    @Schema(description = "分期占比")
    @TableField("proportion")
    @CompareField("proportion")
    private BigDecimal proportion;

    @Schema(description = "分期联系人姓名")
    @TableField("contacts_name")
    @CompareField("contacts_name")
    private String contactsName;

    @Schema(description = "分期联系人电话")
    @TableField("contacts_phone")
    @CompareField("contacts_phone")
    private String contactsPhone;

    @Schema(description = "月分期量")
    @TableField("month_installment_quantity")
    @CompareField("month_installment_quantity")
    private Integer monthInstallmentQuantity;

    @Schema(description = "预计我司占比")
    @TableField("business_rate")
    @CompareField("business_rate")
    private BigDecimal businessRate;

    @Schema(description = "首推平台")
    @TableField("first_recommended_platform")
    @CompareField("first_recommended_platform")
    private String firstRecommendedPlatform;

    @Schema(description = "竞品产品类型")
    @TableField("competitive_product_types")
    @CompareField("competitive_product_types")
    private String competitiveProductTypes;

}
